package poc.scc.core;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@SequenceGenerator(name="seq",sequenceName="seq_pagamento")
public class Pagamento implements Serializable {

	private static final long serialVersionUID = 1L;
	
	@Id
	@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="seq")
	private Long id;
	
	@ManyToOne
	@JoinColumn(name="contrato_id")
	private Contrato contrato;
	
	@Column(name="data_pagamento")
	@Temporal(TemporalType.DATE)
	private Date dataPagamento;
	
	private String observacao;
	
	@Column(name="valor_cobrado")
	private BigDecimal valorCobrado;
	
	@Column(name="valor_pago")
	private BigDecimal valorPago;
	
	@Column(name="valor_concedente")
	private BigDecimal valorConcedente;
	
	@Column(name="valor_contrapartida")
	private BigDecimal valorContrapartida;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Contrato getContrato() {
		return contrato;
	}

	public void setContrato(Contrato contrato) {
		this.contrato = contrato;
	}

	public Date getDataPagamento() {
		return dataPagamento;
	}

	public void setDataPagamento(Date dataPagamento) {
		this.dataPagamento = dataPagamento;
	}

	public String getObservacao() {
		return observacao;
	}

	public void setObservacao(String observacao) {
		this.observacao = observacao;
	}

	public BigDecimal getValorCobrado() {
		return valorCobrado;
	}

	public void setValorCobrado(BigDecimal valorCobrado) {
		this.valorCobrado = valorCobrado;
	}

	public BigDecimal getValorPago() {
		return valorPago;
	}

	public void setValorPago(BigDecimal valorPago) {
		this.valorPago = valorPago;
	}

	public BigDecimal getValorConcedente() {
		return valorConcedente;
	}

	public void setValorConcedente(BigDecimal valorConcedente) {
		this.valorConcedente = valorConcedente;
	}

	public BigDecimal getValorContrapartida() {
		return valorContrapartida;
	}

	public void setValorContrapartida(BigDecimal valorContrapartida) {
		this.valorContrapartida = valorContrapartida;
	}
	
	
}
